package com.jiepos.mpos.common.constant;

public enum ExceptionConstant {
	/*系统级异常描述*/
	/** 成功：SYS_000*/
	SUCCESS("SYS_000", "成功"),
	/** 系统异常：SYS_001*/
	ERROR("SYS_001", "系统异常"),
	
	/*用户相关描述*/
	/** 用户登录名已经存在：USER_001*/
	USER_LOGIN_NAME_EXISTED("USER_001", "用户登录名已经存在"),
	/** 验证码为空：USER_002*/
	USER_LOGIN_CODE_EMPTY("USER_002", "验证码为空"),
	/** 验证码错误：USER_003*/
	USER_LOGIN_CODE_ERROR("USER_003", "验证码错误"),
	/** 登陆账号或密码为空：USER_004*/
	USER_LOGIN_USER_PWD_EMPTY("USER_004", "登陆账号或密码为空"),
	/** 登陆账号或密码错误：USER_005*/
	USER_LOGIN_USER_PWD_ERROR("USER_005", "登陆账号或密码错误"),
	/** 首次登陆，请修改登陆密码：USER_006*/
	USER_LOGIN_FIRST("USER_006", "首次登陆，请修改登陆密码"),
	/** 原登录密码或新密码为空：USER_007*/
	USER_LOGIN_OLD_NEW_PWD_EMPTY("USER_007", "原登录密码或新密码为空"),
	/** 登陆密码长度最少6位：USER_008*/
	USER_LOGIN_LENGTH_SIX("USER_008", "登陆密码长度最少6位"),
	/** 新密码与原密码相同：USER_009*/
	USER_LOGIN_PWD_NEW_EQ_OLD("USER_009", "新密码与原密码相同"),
	/** 无权限：USER_010*/
	USER_HAVE_NO_AUTH("USER_010", "您没有权限访问此功能"),
	/** 账号已停用或被锁定：USER_011*/
	USER_DISABLED_OR_LOCKED("USER_011", "账号已停用或被锁定"),
	/** 密码错误次数已达上限，账号被锁定：USER_012*/
	USER_LOCKED("USER_012", "登陆错误次数已达上限，账号被锁定"),
	/** 原密码错误：USER_013*/
	USER_LOGIN_OLD_PWD_ERROR("USER_013", "原密码错误"),
	/** 您暂无权限使用此系统，请联系管理员赋权：USER_014*/
	USER_HAVE_NO_AUTH_USE_SYSTEM("USER_014", "您暂无权限使用此系统，请联系管理员赋权"),
	
	/*推送异常*/
	PUSH_ERROR("PUSH_000", "推送失败"),
	PUSH_LINKURL_OR_TCONTENT_NULL("PUSH_001", "推送链接模板url或透传内容为空"),
	PUSH_TARGET_CLIENT_NULL("PUSH_002", "推送目标为空"),
	PUSH_TYPE_NULL("PUSH_003", "推送类型为空"),
	PUSH_TEMPLET_NOT_EXIST("PUSH_004", "推送模板不存在"),
	
	/*支付结果*/
	PAY_SUCCESS("00", "交易成功"),
	PAY_FAIL("99", "交易失败"),
	PAY_UNKNOW("98", "交易未知"),
	
	/*对外通道商户进件异常*/
	MER_SUCCESS("00", "成功"),
	MER_ERROR("99", "系统异常"),
	MER_REQ_SERVICE_ERROR("01", "请求的服务不存在"),
	MER_REQ_INS_NULL("02", "机构号不能为空"),
	MER_REQ_INS_NOT_EXISTS("03", "机构号对应的机构不存在"),
	MER_REQ_NULL("04", "未获取到请求报文"),
	MER_BIZ_DATA_NULL("05", "未获取到请求业务参数"),
	MER_BIZ_DATA_ERROR("06", "请求业务参数解密失败"),
	MER_SIGN_ERROR("07", "签名验证失败"),
	MER_NULL("10", "必填"),
	MER_TOO_LENGTH("20", "超出限定长度"),
	MER_NOT_FOLLOW_LENGTH("30", "长度不符合要求"),
	MER_NOT_NUMBER("40", "不是纯数字"),
	MER_AREA_ERROR("50", "商户所属地区编码不支持"),
	MER_BANK_CITY_ERROR("51", "商户开户城市编码不支持"),
	MER_BANK_PROVINCE_ERROR("52", "商户开户省份编码不支持"),
	MER_BANK_NOT_MATCHING("53", "商户开户支行与总行不匹配"),
	MER_IMG_UPLOAD_NULL("60", "未获取到上送的图片数据"),
	MER_IMG_TYPE_ERROR("61", "图片类型不支持"),
	MER_IMG_FORMAT_ERROR("62", "图片格式不支持"),
	MER_IMG_SIZE_TOO_BIG("63", "图片尺寸过大"),
	MER_IMG_UPLOAD_FAIL("64", "图片上传失败"),
	MER_BANK_NOT_EXISTS("80", "结算卡银行不支持"),
	MER_BANK_NOT_BIND("81", "结算卡未绑定，不能变更"),
	MER_BANK_SUPER_NOT_BIND("82", "结算卡开户总行不支持"),
	MER_BANK_BRANCH_NOT_BIND("83", "结算卡开户支行不支持"),
	MER_BANK_FOUR_FAIL("84", "四要素验证不通过"),
	MER_EXISTS("90", "商户已注册"),
	MER_NOT_EXISTS("91", "商户不存在");
	
	private String code;
	
	private String message;

	public String getCode() {
		return code;
	}

	public void setCode(String code) {
		this.code = code;
	}

	public String getMessage() {
		return message;
	}

	public void setMessage(String message) {
		this.message = message;
	}
	
	private ExceptionConstant(String code, String message){
		this.code = code;
		this.message = message;
	}
}
